#ifndef ARRAY_H
#define DATA_OBJECT_H

#include "global.h"

class DataObject
{
    public:
        DataObject();
        virtual ~DataObject();

        DataObject & operator[] (int) ;
        DataObject & operator[] (string) ;

        DataObject & operator=(const string &s ) ;

    protected:
    private:
        map<int,DataObject> i_arr;
        map<string,DataObject> s_arr;
        string str;
        union {
            unsigned long ul_num;
            long l_num;
            int64_t i64_num;
            uint64_t ui64_num;
            float f_num;
            double d_num;
        } num;
};

#endif // ARRAY_H
